import VueRouter from 'vue-router';
import Vue from 'vue';

Vue.use(VueRouter);

//路由对象列表，每个对象是个单独的路由
const routers = [
    {
        path:'*',//输入地址不匹配时
        redirect:'/home'//重定向到主页
    },
    {
        path:'/home',//首页
        component:()=>import('@/views/home'),// 这里使用箭头函数是为了方便，不用在顶部写导入组件的代码了
        meta:{// 元数据属性，可以携带数据信息。router.meta 调用

             //这里就是通过设置全局的route.meta数据，控制首页各组件的展示
             //注意，不能写isHideNav，亲自测试，如果默认首页展示，会产生闪屏效果
             isShowNav: true,
             isShowHeader: true,
             isShowHeaderSticky: true,
             isShowFooter: true,
        }
    },
    {
        path:'/login',
        component:()=>import('@/views/login'),
    }, 
    {
        path:'/member',
        component:()=>import('@/views/member'),
        meta:{
            isShowNav: true,
            isShowHeader: true,
            isShowHeaderSticky: true,
            isShowFooter: true,
       }
       
    },
    {
        path:'/register',
        component:()=>import('@/views/register')
    },
    {
        path:'/member/order',
        component:()=>import('@/views/member/order'),
        meta:{
            isShowNav: true,
            isShowHeader: true,
            isShowHeaderSticky: true,
            isShowFooter: true,
       }
    },
    {
        path:'/download',
        component:()=>import('@/views/download'),
        meta:{
            isShowNav: true,
            isShowHeader: true,
            isShowHeaderSticky: true,
            isShowFooter: true,
       }
    }, 
    {
        path:'/cart',
        component:()=>import('@/views/cart'),
        meta:{
            isShowNav: true,
            isShowHeader: true,
            isShowHeaderSticky: true,
            isShowFooter: true,
       }
    },
    {
        // :id 是动态参数，目标组件中使用param对象获取
        path:'/category/:id',
        component:()=>import('@/views/category'),
        meta:{
            isShowNav: true,
            isShowHeader: true,
            isShowHeaderSticky: true,
            isShowFooter: true,
       }
    },
    {
        // :id 是动态参数，目标组件中使用param对象获取
        path:'/category/sub/:id',
        component:()=>import('@/views/category/sub'),
        meta:{
            isShowNav: true,
            isShowHeader: true,
            isShowHeaderSticky: true,
            isShowFooter: true,
       }
    },
    {
        path:'/goods/:id',
        component:()=>import('@/views/goods'),
        meta:{
            isShowNav: true,
            isShowHeader: true,
            isShowHeaderSticky: true,
            isShowFooter: true,
        }
    }

];

export default new VueRouter({
   routes: routers // 设置路由列表
});